
import {ElMessage} from "element-plus";

import axiosInstance from "../../plugins/axios.ts";

export const getReportProjectList =async (id: string,pageNum: number, pageSize: number)=>{
    const res= await axiosInstance.post(`/review/getPage?reviewerId=${id}&pageNum=${pageNum}&pageSize=${pageSize}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    } else {
        ElMessage.error(res.data.message || "获取评审项目信息失败");
        throw new Error(res.data.message || "获取评审项目信息失败");
    }
}

//条件查询
export const getReportProjectByCondition =async (condition)=>{
    const res= await axiosInstance.post(`/review/search`,condition);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }
    else {
        ElMessage.error(res.data.message || "条件查询失败");
        throw new Error(res.data.message || "条件查询失败");
    }
}

export const getProjectDetails=async (id: string)=>{
    const res= await axiosInstance.post(`/review/getProject?projectId=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    } else {
        ElMessage.error(res.message || "获取项目详情失败");
        throw new Error(res.message || "获取项目详情失败");
    }
}
//获取评估师可见项目，生成评估报告使用
export const getReportProjectForGenerate=async (id: string)=>{
    const res= await axiosInstance.post(`/display/getFinishedProjects?tenantid=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据

    } else {
        ElMessage.error(res.data.message || "获取项目详情失败");
        throw new Error(res.data.message || "获取项目详情失败");
    }
}

//评估师查看导出项目详情
export const getGenerateReportProjectById=async (id: string)=>{
    const res= await axiosInstance.post(`/display/getReportInfo?projectId=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }else {
        ElMessage.error(res.data.message || "获取项目详情失败");
        throw new Error(res.data.message || "获取项目详情失败");
    }

}

//项目基本信息存储
export const saveProjectDetailReview=async (reviewId:string,prompt:string,text:string)=> {
    const res= await axiosInstance.post(`/review/commit?reviewId=${reviewId}&prompt=${prompt}&text=${text}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }
    else {
        ElMessage.error(res.data.message || "保存失败失败");
        throw new Error(res.data.message || "保存失败");
    }
}
export const getLineDataAsync=async (id:any)=> {
    const res= await axiosInstance.post(`/display/getMonthlyWorkload?userid=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }
    else {
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}


//项目信息看板的进度等
export const getDisplayProjectInfo=async (id:any)=>{
    const res= await axiosInstance.post(`/display/basicInformation?userid=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }
    else {
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}
//绘制柱状图
export const getCloChartData=async (id)=>{
    const res= await axiosInstance.post(`/display/staffDeploy?userid=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }
    else {
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}
//获取任务视图任务
export const getTaskClass=async (id)=> {
    const res = await axiosInstance.post(`/display/taskDiagram?userid=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    } else {
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}
//
export const getTaskDetail=async (id)=> {
    const res = await axiosInstance.post(`/display/getTask?taskid=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }else{
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}

//获取租户所有的项目信息
export const getReportProjectForReview=async (id: string)=>{
    const res= await axiosInstance.post(`/display/getProjects?tenantid=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }else{
        ElMessage.error(res.data.message || "获取项目详情失败");
        throw new Error(res.data.message || "获取项目详情失败");
    }
}

//功能点评估url
export const getFpDerails=async (id)=>{
    const res= await axiosInstance.post(`/display/getReportInfo?projectId=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }else{
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}
//综合造价评估url
export const getCostDerails=async (id:any)=>{
    const res= await axiosInstance.post(`/display/getReportInfo?projectId=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }else{
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}

//Ai问答
export const getAiAnswer=async (aiId,question)=>{
    const res= await axiosInstance.post(`/display/getAIAnswer?aiId=${aiId}&question=${question}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }
    else{
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}
//报告生成的条件查询
export const getGenerateProjectsByConditionAsync=async (params:any)=>{
    const res= await axiosInstance.post(`/display/search`,params);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }else{
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }
}
//任务视图折线图信息
export const getLineData=async (id)=>{
    const res= await axiosInstance.post(`/display/getTaskStastic?taskid=${id}`);
    if (res.data.code == 1) {
        return res.data.data; // 返回数据
    }else{
        ElMessage.error(res.data.message || "数据获取失败");
        throw new Error(res.data.message || "数据获取失败");
    }

}





